package edu.upenn.cis.cis550.hw3.client;

import java.sql.Array;
import java.util.ArrayList;

import com.google.gwt.user.client.rpc.AsyncCallback;

import edu.upenn.cis.cis550.hw3.shared.Relation;

//import edu.upenn.cis.cis550.hw3.shared.Relation;

public interface QueryTablesAsync {

	void getTopScoringPhotos(String userid, AsyncCallback<Relation> callback) throws IllegalArgumentException;
	
	void validatePassword(String username, String pass, AsyncCallback<Boolean> callback) throws IllegalArgumentException;

	void getSearchedPhotos(String keywords, String userid, AsyncCallback<Relation> callback);

	void getRecentUpdates(String userid, AsyncCallback<Relation> callback);

	void getPhotoTags(String photoid, AsyncCallback<Relation> callback);

    void getFriends(int userid, AsyncCallback<Relation> callback);

    void getFriendsVisualizerXML(int userid, AsyncCallback<String> callback);
    
    void getUserInfo(String userid, AsyncCallback<Relation> callback);
    
    void getStudentInfo(String userid, AsyncCallback<Relation> callback);
    void getProfessorInfo(String userid, AsyncCallback<Relation> callback);
    void getAllTags(AsyncCallback<ArrayList<String>> callback);
    
    void addFriend(int userID, int friendID, String circleName,
            AsyncCallback<String> callback);
    

	void getCirclesInfo(String userid, AsyncCallback<Relation> callback);
	
	void getProfessors(AsyncCallback<Relation> callback);

}
